/*
 * @Author: kaikaima
 * @Date: 2021-03-01 07:56:58
 * @LastEditTime: 2021-03-01 07:57:29
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: /undefined/home/messi/Data_Structure_and_Algorithm_GIT/PAT/Basic_level/1007.cpp
 */
/*让我们定义d​n​​为：d​n​​=p​n+1​​−p​n​​，其中p​i​​是第i个素数。显然有d​1​​=1，且对于n>1有d​n​​是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
  现给定任意正整数N(<10​5​​)，请计算不超过N的满足猜想的素数对的个数。
  输入格式:
  输入在一行给出正整数N。
  输出格式:
  在一行中输出不超过N的满足猜想的素数对的个数。*/
#include<iostream>

int main (int argc, char* argv[]){
    int n,u; std::cin>>n;
    u=n>100?n/2:n;
    int c[u]; c[0]=2;
    int key=3; 
    int num=0;
    int p=1;
    while(p<u){
        int i; 
        for(i=0;i<p;i++)
            if(key%c[i]==0) break;
        if(i==p){
          c[p]=key;
		  p++;
          if(c[i]-c[i-1]==2) num++;
		}
        key++;
        if(key>n) break;
    }
    std::cout<<num<<std::endl;
    return 0;
}